/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compras.modelado;

import java.io.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

/**
 *
 * @author hozkr
 */
public class OrdenCompra extends Formularios {
  
private String codigoProveedor;
private String usuarioAutoriza;
private String producto;
private double unitario;
private double valor;
private String codigoCotizacion;

    public OrdenCompra() {}

    public OrdenCompra(String codigo, String area, String usuario, String fechaIngreso, String fechaRequerida, String fechaAutorizacion, double cantidad, String usuarioAutoriza, String codigoProveedor, String producto, double unitario, double valor, String codigoCotizacion){
        this.codigo = codigo;
        this.area = area;
        this.usuario = usuario;
        this.fechaIngreso = fechaIngreso;
        this.fechaRequerida = fechaRequerida;
        this.fechaAutorizacion = fechaAutorizacion;
        this.cantidad = cantidad;
        this.usuarioAutoriza = usuarioAutoriza;
        this.codigoProveedor = codigoProveedor;
        this.producto = producto;
        this.unitario = unitario;
        this.valor = valor;
        this.codigoCotizacion = codigoCotizacion;
    }

    @Override
    public String insertarDatos() {
        String msj;
        File file = new File("src\\archivos\\OrdenCompra.txt");
        
        String linea;
        try{
            Scanner in = new Scanner(System.in, "ISO-8859-1");
            //La flag de FileWriter en true es para agregar al final del archivo
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            linea = this.codigo +
                    ", " + this.area +
                    ", " + this.usuario +
                    ", " + this.fechaIngreso +
                    ", " + this.fechaRequerida +
                    ", " + this.fechaAutorizacion +
                    ", " + this.cantidad +
                    ", " + this.usuarioAutoriza +
                    ", " + this.codigoProveedor +
                    ", " +  this.producto +
                    ", " + this.unitario +
                    ", " + this.valor +
                    ", " + this.codigoCotizacion +
                    ", " ;
                                                                                                                                                //cod, are, usr, fecIngre, fecReq, fecAut, cantD, usrAut, codProve, prod, unitD, valD, codCotiza
            out.println(linea);    
            in.close();
            out.close();
            msj = "Datos insertados con exito";
        }
        catch(FileNotFoundException e1){
            msj = "ERROR: " + e1.toString();
        }
        catch(IOException e2){
            msj = null;
            e2.printStackTrace();
        }
        return msj;
    }


    @Override
    public ArrayList mostrarDatos() {
        ArrayList arry = new ArrayList();
        String line;
        String cod; 
        String are;
        String usr;
        String fecIngre;
        String fecReq;
        String fecAut;
        String cantS;
        double cantD;
        String usrAut;
        String codProve;
        String prod;
        String unitS;
        double unitD;
        String valS;
        double valD;
        String codCotiza;
        
        File file = new File("src\\archivos\\OrdenCompra.txt");
        try{
            Scanner in = new Scanner(file, "UTF-8");
            while(in.hasNextLine()){           
                line = in.nextLine();
                in.useDelimiter(",");
                if(in.hasNext()){                         
                    cod=in.next().trim();
                    are= in.next().trim(); 
                    usr=in.next().trim();
                    fecIngre = in.next().trim();               
                    fecReq=in.next().trim();       
                    fecAut=in.next().trim();
                    cantS = in.next().trim();
                    cantD = Double.parseDouble(cantS);
                    usrAut=in.next().trim();
                    codProve = in.next().trim();
                    prod = in.next().trim();
                    unitS = in.next().trim();
                    unitD = Double.parseDouble(unitS);
                    valS = in.next().trim();
                    valD = Double.parseDouble(valS);
                    codCotiza = in.next().trim();         
                    OrdenCompra oc = new OrdenCompra(cod, are, usr, fecIngre, fecReq, fecAut, cantD, usrAut, codProve, prod, unitD, valD, codCotiza);                   
                    // public OrdenCompra(String codigo, String area, String usuario, String fechaIngreso, String fechaRequerida, String fechaAutorizacion, double cantidad, String usuarioAutoriza, String codigoProveedor, String producto, double unitario, double valor, String codigoCotizacion)
                    arry.add(oc);
                }
            }         
            in.close();
        }
        catch(FileNotFoundException e1){
            arry = null;
            System.out.println("ERROR: " + e1.toString());
        }
        catch(IOException e2){
            arry = null;
            e2.printStackTrace();
        }
        return arry;
        
    }


/**
 *
 * @intento buscar
 */
    public ArrayList mostrarDatos(String codigoBuscar) {
        ArrayList arry = new ArrayList();
        boolean banderaEncontro=false;
        String line;
        String cod;
        String are;
        String usr;
        String fecIngre;
        String fecReq;
        String fecAut;
        String cantS;
        double cantD;
        String usrAut;
        String codProve;
        String prod;
        String unitS;
        double unitD;
        String valS;
        double valD;
        String codCotiza;

        File file = new File("src\\archivos\\OrdenCompra.txt");
        try{
            Scanner in = new Scanner(file, "UTF-8");
            while(in.hasNextLine()){
                line = in.nextLine();
                in.useDelimiter(",");
                if(in.hasNext()){
                    cod=in.next().trim();
                    are= in.next().trim();
                    usr=in.next().trim();
                    fecIngre = in.next().trim();
                    fecReq=in.next().trim();
                    fecAut=in.next().trim();
                    cantS = in.next().trim();
                    cantD = Double.parseDouble(cantS);
                    usrAut=in.next().trim();
                    codProve = in.next().trim();
                    prod = in.next().trim();
                    unitS = in.next().trim();
                    unitD = Double.parseDouble(unitS);
                    valS = in.next().trim();
                    valD = Double.parseDouble(valS);
                    codCotiza = in.next().trim();
                    OrdenCompra oc = new OrdenCompra(cod, are, usr, fecIngre, fecReq, fecAut, cantD, usrAut, codProve, prod, unitD, valD, codCotiza);
                    // public OrdenCompra(String codigo, String area, String usuario, String fechaIngreso, String fechaRequerida, String fechaAutorizacion, double cantidad, String usuarioAutoriza, String codigoProveedor, String producto, double unitario, double valor, String codigoCotizacion)
                    if(codigoBuscar.equals(cod)){
                        banderaEncontro = true;
//                        System.out.println("Encontrado.. !!");
                        arry.add(oc);
                    }
                    
                }
            }
            if(!banderaEncontro){ // no encontro
                arry=null;
//                System.out.println("no encontro: null arry");
            }

            in.close();
        }
        catch(FileNotFoundException e1){
            arry = null;
            System.out.println("ERROR: " + e1.toString());
        }
        catch(IOException e2){
            arry = null;
            e2.printStackTrace();
        }
        return arry;

    }
    
 
    
    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getCodigoCotizacion() {
        return codigoCotizacion;
    }

    public void setCodigoCotizacion(String CodigoCotizacion) {
        this.codigoCotizacion = CodigoCotizacion;
    }


    public String getUsuarioAutoriza() {
        return usuarioAutoriza;
    }

    public void setUsuarioAutoriza(String UsuarioAutoriza) {
     
        this.usuarioAutoriza = UsuarioAutoriza;
    }

    /**
     * @return the codigoProveedor
     */
    public String getCodigoProveedor() {
        return codigoProveedor;
    }

    /**
     * @param codigoProveedor the codigoProveedor to set
     */
    public void setCodigoProveedor(String codigoProveedor) {
        this.codigoProveedor = codigoProveedor;
    }

    /**
     * @return the producto
     */
    public String getProducto() {
        return producto;
    }

    /**
     * @param producto the producto to set
     */
    public void setProducto(String producto) {
        this.producto = producto;
    }

    /**
     * @return the unitario
     */
    public double getUnitario() {
        return unitario;
    }

    /**
     * @param unitario the unitario to set
     */
    public void setUnitario(double unitario) {
        this.unitario = unitario;
    }

    /**
     * @return the valor
     */
    public double getValor() {
        return valor;
    }

    /**
     * @param valor the valor to set
     */
    public void setValor(double valor) {
        this.valor = valor;
    }

    public double getCantidad() {
        return cantidad;
    }

    public void setCantidad(double cantidad) {
        this.cantidad = cantidad;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getFechaAutorizacion() {
        return fechaAutorizacion;
    }

    public void setFechaAutorizacion(String fechaAutorizacion) {
        this.fechaAutorizacion = fechaAutorizacion;
    }

    public String getFechaIngreso() {
        return fechaIngreso;
    }

    public void setFechaIngreso(String fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public String getFechaRequerida() {
        return fechaRequerida;
    }

    public void setFechaRequerida(String fechaRequerida) {
        this.fechaRequerida = fechaRequerida;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    
    
 
}
